home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1997 / HAM Radio 1997.iso / vcls / wfc007.000 / wfc008.txt < prev   
Text File  |  1996-04-08  |  9KB  |  145 lines

  1. What is WFC (Win32 Foundation Classes)? It is a set of C++ classes built upon
  2. MFC that let you develop Win32 applications. It encapsulates different 
  3. groups of API's (like the Registry) into C++ classes to reduce the learning
  4. curve. For the most part I don't want to overlap MFC in functionality. 
  5. However, I have a TCP/IP socket class and so does MFC (but mine works in
  6. Console applications). I am not the author of all of the code. If I've seen
  7. code that I can use I've rolled it into WFC. There's a lot of classes that
  8. encapsulate data structures. The reason for this is my programmers are 
  9. constantly having problems initializing structures that have a data member
  10. holding the size of the structure (i.e. cbSize or dwLength members). 
  11. Microsoft doesn't do a real good job of pointing out that you need to set
  12. the size of data structures *before* calling API's. This leads to a lot of
  13. heartache for first-time NT programmers (in my experience). Also, all
  14. members of the structures are zeroed out before use. WFC will be extended
  15. as it is used in more and more applications.
  16.  
  17. WFC contains no exception handling. Why? I hate exception handling. It is a
  18. religious issue with me. I prefer to check for failure all over the place.
  19.  
  20. How much does WFC cost? Nothing. Use it any way you like. Please let me know
  21. of bugs or extensions so I can roll them into the next release. Feel free
  22. to tell me some good news too!
  23.  
  24. Here's a list of the classes in WFC008
  25.  
  26. CAccessAllowedEntry            - Encapsulates the ACCESS_ALLOWED_ACE structure.
  27. CAccessControlEntryHeader      - Encapsulates the ACE_HEADER structure.
  28. CAccessControlList             - Encapsulates the ACL structure.
  29. CAccessDeniedEntry             - Encapsulates the ACCESS_DENIED_ACE structure.
  30. CAccessTimeout                 - Encapsulates the ACCESSTIMEOUT structure.
  31. CBitmapCoreHeader              - Encapsulates the BITMAPCOREHEADER structure.
  32. CBitmapFileHeader              - Encapsulates the BITMAPFILEHEADER structure.
  33. CBitmapInfoHeader              - Encapsulates the BITMAPINFOHEADER structure.
  34. CCircle                        - Draws a circle on the screen.
  35. CCompVars                      - Encapsulates the COMPVARS structure.
  36. CColorAdjustment               - Encapsulates the COLORADJUSTMENT structure.
  37. CDeviceControlBlock            - Encapsulates DCB structure.
  38. CDocInfo                       - Encapsulates the DOCINFO structure.
  39. CDrawingObjectGrid             - A grid of drawing objects like CCircle, etc.
  40. CDummyFile                     - A class that traps all calls to CFile that
  41.                                  would blow up if you weren't a disk file.
  42. CEllipse                       - Draws an ellipse on the screen.
  43. CEventLog                      - The event logger. Makes logging easier.
  44. CFilterKeys                    - Encapsulates the FILTERKEYS structure.
  45. CLabeledGrid                   - A subclass of CDrawingObjectGrid that adds
  46.                                  text labels to the objects.
  47. CListeningSocket               - Establishes a socket that people can connect
  48.                                  to (ie, makes a server socket)
  49. CLZFile                        - Unfinished class. Will be derived from CFile
  50.                                  to handle LZFiles (compressed files).
  51. CMemoryStatus                  - Encapsulates the MEMORYSTATUS structure.
  52. CMouseKeys                     - Encapsulates the MOUSEKEYS structure.
  53. CNamedPipe                     - Unfinished class. Will be derived from CFile
  54. CNetwork                       - Base class for all networking functionality
  55. CNetworkConnectionInformation  - Class based on CONNECTION_INFO_1 structure
  56. CNetworkConnections            - Class that plays with network connections
  57. CNetworkFileInformation        - Class based on FILE_INFO_3 structure
  58. CNetworkFiles                  - Class that plays with network files
  59. CNetworkResources              - Class that plays with network resources
  60. CNetworkResourceInformation    - Class based on NETRESOURCE structure
  61. CNetworkSessions               - Class that plays with network sessions
  62. CNetworkSessionInformation     - Class based on SESSION_INFO_502 structure
  63. CNetworkShareInformation       - Class based on SHARE_INFO_2 structure
  64. CNetworkShares
  65. CNetWorkstation                - Gathers information about the workstation
  66. COutlineTextMetric             - Encapsulates the OUTLINETEXTMETRIC structure.
  67. COverlapped                    - Plays with OVERLAPPED structure.
  68. CPerfCounterDefinition         - Encapsulates the PERF_COUNTER_DEFINITION
  69.                                  structure.
  70. CPerfInstanceDefinition        - Encapsulates the PERF_INSTANCE_DEFINITION
  71.                                  structure.
  72. CPixelFormatDescriptor         - Encapsulates the PIXELFORMATDESCRIPTOR structure.
  73. CRAS                           - Remote Access Services. Partially tested, it 
  74.                                  does dials phone book entries...
  75. CRASAuthenticationMessageBlock - Encapsulates the RASAMB structure.
  76. CRASInternetProtocol           - Encapsulates the RASPPPIP structure.
  77. CRASInternetworkPacketExchange - Encapsulates the RASPPPIPX structure.
  78. CRASNetBEUIFramer              - Encapsulates the RASPPPNBF structure.
  79. CRasterizerStatus              - Encapsulates the RASTERIZER_STATUS structure.
  80. CRectangle                     - Draws a rectangle on the screen
  81. CRegistry                      - Encapsulates the Registration Database 
  82.                                  (Registry API)
  83. CRoundedRectangle              - Draw a rectangle with rounded corners
  84. CSecurityAttributes            - Encapsulates the SECURITY_ATTRIBUTES
  85.                                  structure.
  86. CSecurityQualityOfService      - Encapsulates the SECURITY_QUALITY_OF_SERVICE
  87.                                  structure.
  88. CSerialFile                    - Treats the serial port like it was a CFile
  89. CSerialPort                    - Under developement. Will handle serial ports (multi-threaded).
  90. CServer                        - Decrypts data scrambled by NetServerGetInfo()
  91. CService                       - NT Services class.
  92. CServiceControlManager         - Plays with the Service Control Manager.
  93. CServiceStatus                 - Encapsulates the ENUM_SERVICE_STATUS structure.
  94. CSessionInformation            - Session iformation based on SESSION_INFO_502
  95.                                  structure. Basically, gives you same info as
  96.                                  Control Panel->Server->Users->Connected Users
  97. CSimpleSocket                  - Base class for TCP/IP sockets. Derived from
  98.                                  CDummyFile.
  99. CSimpleSocketFile              - Turns an existing CSimpleSocket into a CFile.
  100.                                  Generally, this is called from 
  101.                                  CListeningSocket::OnNewConnection()
  102. CSoundSentry                   - Encapsulates the SOUNDSENTRY structure.
  103. CSquare                        - Draws a square on the screen
  104. CSquiggle                      - A type of CRectangle that makes creating
  105.                                  oscilliscope type displays real easy
  106. CSquiggleData                  - Data taken from o-scopes to be given to
  107.                                  CSquiggle
  108. CStickyKeys                    - Encapsulates the STICKYKEYS structure.
  109. CSystemAuditEntry              - Encapsulates the SYSTEM_AUDIT_ACE structure.
  110. CTalkingSocket                 - A socket you can use to connect to existing
  111.                                  sockets (you connect to a server).
  112. CTape                          - Under development. Will encapsulate the Tape
  113.                                  API. Derived from CFile...
  114. CTextMetric                    - Encapsulates the TEXTMETRIC structure.
  115. CToggleKeys                    - Encapsulates the TOGGLEKEYS structure.
  116. CUniformResourceLocator        - Plays with URL's 
  117.                                  Example: http://www.microsoft.com/hello.html
  118. CUniversalNamingConvention     - Plays with UNC's 
  119.                                  Example: \\buckaroo\public\neato\readme.txt
  120. CWaitCursor                    - Ye Olde Wait Cursor class
  121. CWindowPlacement               - Encapsulates the WINDOWPLACEMENT structure.
  122. CWorkstationInformation        - Patterned after WKSTA_INFO_102, used in
  123.                                  CNetWorkstation::Enumerate
  124. CWorkstationUser               - Patterned after WKSTA_USER_INFO_1, used in
  125.                                  CNetWorkstation::Enumerate
  126.  
  127.  
  128. Miscellaneous Functions:
  129.  
  130. Convert_NERR_Code_to_String    - Converts NERR_* error codes to text; the 
  131.                                  FormatMessage() trick doesn't work on these
  132.                                  error codes
  133.  
  134. What's New in Release 008:
  135.  
  136. CLZFile                        - Handles the LZxxx API
  137.  
  138. Bug Fixes in Release 008:
  139.  
  140.  
  141. Sam Blackburn
  142. CI$: 76300,326
  143. Internet: sammy@sed.csc.com
  144.  
  145.